/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */

/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */

@import '@/uni_modules/uview-plus/theme.scss';

/* 颜色变量 */

/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;

/* 文字基本颜色 */
$uni-text-color:#333;//基本色
$uni-text-color-inverse:#fff;//反色
$uni-text-color-grey:#999;//辅助灰色，如加载更多的提示信息
$uni-text-color-placeholder: #808080;
$uni-text-color-disable:#c0c0c0;

/* 背景颜色 */
$uni-bg-color:#ffffff;
$uni-bg-color-grey:#f8f8f8;
$uni-bg-color-hover:#f1f1f1;//点击状态颜色
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色

/* 边框颜色 */
$uni-border-color:#c8c7cc;

/* 尺寸变量 */

/* 文字尺寸 */
$uni-font-size-sm:12px;
$uni-font-size-base:14px;
$uni-font-size-lg:16px;

/* 图片尺寸 */
$uni-img-size-sm:20px;
$uni-img-size-base:26px;
$uni-img-size-lg:40px;

/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;

/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;

/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;

/* 透明度 */
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度

/* 文章场景相关 */
$uni-color-title: #2C405A; // 文章标题颜色
$uni-font-size-title:20px;
$uni-color-subtitle: #555555; // 二级标题颜色
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px;

/* 全局主题颜色 */
$theme-color: #2867CE;
$theme-color-light: #4785E6;
$theme-color-dark: #1E4C9A;

/* 文字颜色 */
$text-color-main: #333333;
$text-color-secondary: #666666;
$text-color-light: #999999;

/* 背景颜色 */
$bg-color: #F8F8F8;
$bg-color-white: #FFFFFF;
$bg-color-grey: #F5F5F5;

/* 边框颜色 */
$border-color: #EEEEEE;
$border-color-light: #F0F0F0;

/* 阴影 */
$box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
$box-shadow-light: 0 2px 8px rgba(0, 0, 0, 0.05);

/* 圆角 */
$border-radius-sm: 4px;
$border-radius-md: 8px;
$border-radius-lg: 12px;

/* 间距 */
$spacing-xs: 5px;
$spacing-sm: 10px;
$spacing-md: 15px;
$spacing-lg: 20px;
$spacing-xl: 30px;

/* 字体大小 */
$font-size-xs: 12px;
$font-size-sm: 14px;
$font-size-md: 16px;
$font-size-lg: 18px;
$font-size-xl: 20px;

/* 动画 */
@mixin transition-default {
  transition: all 0.3s ease;
}

/* 卡片样式 */
@mixin card-style {
  background-color: $bg-color-white;
  border-radius: $border-radius-md;
  box-shadow: $box-shadow-light;
  padding: $spacing-lg;
}

/* 按钮样式 */
@mixin button-style {
  background: linear-gradient(135deg, $theme-color-light, $theme-color);
  border-radius: $border-radius-md;
  color: #fff;
  font-size: $font-size-md;
  padding: $spacing-sm $spacing-xl;
  @include transition-default;
  
  &:active {
    transform: scale(0.98);
    background: linear-gradient(135deg, $theme-color, $theme-color-dark);
  }
}

/* 输入框样式 */
@mixin input-style {
  background-color: $bg-color-grey;
  border-radius: $border-radius-sm;
  padding: $spacing-sm;
  font-size: $font-size-md;
  color: $text-color-main;
  
  &::placeholder {
    color: $text-color-light;
  }
}

/* 列表项样式 */
@mixin list-item-style {
  padding: $spacing-md;
  border-bottom: 1px solid $border-color-light;
  @include transition-default;
  
  &:active {
    background-color: $bg-color-grey;
  }
}

/* 图片上传样式 */
@mixin upload-style {
  .upload-box {
    margin-top: $spacing-sm;
    
    .u-upload {
      border-radius: $border-radius-sm;
      overflow: hidden;
      
      &__button {
        background-color: $bg-color-grey;
        border-radius: $border-radius-sm;
      }
    }
  }
}

/* 表单样式 */
@mixin form-style {
  .form-container {
    @include card-style;
    margin-bottom: $spacing-xl;
    
    .uni-forms-item {
      margin-bottom: $spacing-lg;
      
      &__label {
        font-size: $font-size-md;
        color: $text-color-main;
        margin-bottom: $spacing-xs;
      }
    }
    
    .submit-btn {
      margin-top: $spacing-xl;
    }
  }
}
